/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package wasolicitudesfiec.consultas;
import entidad.Estudiante;
import java.sql.*;
import java.util.Vector;
/**
 *
 * @author kabad
 */
public class ConsultasEstudiante{
private Connection con;

public boolean modificarEstudiante(int idEstudiante, String matricula) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call modificarEstudiante(?,?) ");
proc.setInt(1, idEstudiante);
proc.setString(2, matricula);
proc.execute();
return exitoOperacion;


}

public Estudiante HLleerEstudiantePorUsuario(String usuario, Estudiante val) throws SQLException{
return leerEstudiantePorUsuario(val.getIdEstudiante(), usuario);
}

public void setConexion(Connection con) {
this.con=con;
}

public boolean HLmodificarEstudiante(Estudiante val) throws SQLException{
return modificarEstudiante(val.getIdEstudiante(), val.getMatricula());
}

public boolean eliminarEstudiante(int idEstudiante) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call eliminarEstudiante(?) ");
proc.setInt(1, idEstudiante);
proc.execute();
return exitoOperacion;


}

public boolean HLeliminarEstudiante(Estudiante val) throws SQLException{
return eliminarEstudiante(val.getIdEstudiante());
}

public Estudiante nuevoEstudiante(String matricula) throws SQLException{
Estudiante reg=new Estudiante();

PreparedStatement proc=con.prepareStatement(
"call nuevoEstudiante(?) ");
proc.setString(1, matricula);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setIdEstudiante(rs.getInt(1));
reg.setMatricula(rs.getString(2));
}else reg=null;
return reg;


}

public Estudiante HLnuevoEstudiante(Estudiante val) throws SQLException{
return nuevoEstudiante(val.getMatricula());
}

public Estudiante leerEstudiante(int idEstudiante) throws SQLException{
Estudiante reg=new Estudiante();

PreparedStatement proc=con.prepareStatement(
"call leerEstudiante(?) ");
proc.setInt(1, idEstudiante);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setIdEstudiante(rs.getInt(1));
reg.setMatricula(rs.getString(2));
}else reg=null;
return reg;


}

public Estudiante HLleerEstudiante(Estudiante val) throws SQLException{
return leerEstudiante(val.getIdEstudiante());
}

public Vector<Estudiante> leerVariosEstudiante() throws SQLException{
Vector<Estudiante> datos=new Vector<Estudiante>();
Estudiante reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosEstudiante() ");
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Estudiante();
reg.setIdEstudiante(rs.getInt(1));
reg.setMatricula(rs.getString(2));
datos.add(reg);
}//end while
return datos;


}

public Vector<Estudiante> HLleerVariosEstudiante(Estudiante val) throws SQLException{
return leerVariosEstudiante();
}

public Estudiante leerEstudiantePorUsuario(int idEstudiante, String usuario) throws SQLException{
Estudiante reg=new Estudiante();

PreparedStatement proc=con.prepareStatement(
"call leerEstudiantePorUsuario(?,?) ");
proc.setInt(1, idEstudiante);
proc.setString(2, usuario);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setIdEstudiante(rs.getInt(1));
reg.setMatricula(rs.getString(2));
}else reg=null;
return reg;


}


}// FIN CLASE: ConsultasEstudiante
